# 回归：一个或多个预测变量，来预测响应变量，也称为因变量、标效变量或者结果变量的方法
# 重点是：如何建立模型，抽象出数学公式，哪些因素与模型有关，需要利用多少样品，模型的准确率
# 最简单的线性回归：普通最小二乘回归法
# lm(),线性回归
# lm(formula, data, subset, weights, na.action, methon, model, x,y, qr, singular.ok, contrasts, ....)
#   formula:要进行拟合的模型形式，写成一个公式，y = ax + b
#   data: 数据集（数据框的形式）
# call：列出使用的回归公式
# residuals：残差：真实值与预测值之间的差，残差越小预测模型越精确
# coefficients：系数项
# intercept：截距项；estimate：项系数的值；pr代表pvalue，x\y不相关的概率
# residual standard error：残差标准误差，越小越好
# multiple r-squared：衡量模型拟合质量的指标，表示回归模型所能解释的方差比例，越大越好，取值在0-1之间
# F-statistic: 说明模型是否显著，越小越好
head(women)
fit <- lm(weight~height, data = women)
summary(fit)
weight = 3.45 * height - 87.51667

head(state.x77)
x <- matrix[,c(1,2,5)]
x <- as.data.frame(x)
fit <- lm(Murder~Population+Income, data = x)
summary(fit)

# 样本数据
x <- c(151, 174, 138, 186, 128, 136, 179, 163, 152, 131)
y <- c(63, 81, 56, 91, 47, 57, 76, 72, 62, 48)

# 提交给 lm() 函数
relation <- lm(y~x)
relation
lm(formula = y ~ x)
